﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Windows.Threading;

namespace WpfProgram.Controls
{
    /// <summary>
    /// WindowLabel.xaml 的交互逻辑
    /// </summary>
    public partial class WindowLabel : Window
    {
        public DispatcherTimer timer = new DispatcherTimer();
        public WindowLabel()
        {
            InitializeComponent();
            // 定时器：每隔指定时间执行一次，在winform中实现定时器采用的是
            //  System.Windows.Forms.Timer命名空间下的定时器，但是在wpf下使用
            //定时器是DispatcherTimer类实现定时器，该定时器在system.windows.threading下

            // 1 创建定时器
           // DispatcherTimer timer = new DispatcherTimer();
            //2 设置定时器时间间隔  TimeSpan.FromSeconds(1) 以秒单位
            timer.Interval = TimeSpan.FromMilliseconds(10);
            //3 设置每隔时间要执行的方法 ，绑定方法到定时器上
            //tick 是事件名， new System.EventHandler() 参数是方法名
            timer.Tick += new System.EventHandler(F1);
            //4 开启定时器
            //timer.Start();

            // 5 关闭定时器
            //timer.Stop();
            this.l1.Content = DateTime.Now.ToString();  

        }
        //定时器的事件函数
        public Random r = new Random();
        public void F1(object sender,EventArgs e)
        {
            Console.WriteLine("111");
            int red = r.Next(0, 255);
            int green = r.Next(0, 255);
            int blue = r.Next(0, 255);
            this.l1.Background = new SolidColorBrush(Color.FromRgb((byte)red,(byte)green,(byte)blue));
        }
        //点击事件函数
        private void Btn_Click(object sender, RoutedEventArgs e)
        {
            // 修改label的背景颜色
            //1 Brushes.Red 
            //2 使用rgb三原色 255 ,255, 255
            //new SolidColorBrush 创建一个笔刷 颜色是参数
            //this.l1.Background = new SolidColorBrush(Color.FromRgb(255, 255, 0));

            //2点击时候使用定时器切换背景颜色
            timer.Start();
        }
    }
}
/*
 * 1 如何控制首次显示窗口 
 * 在app.xaml文件修改 StartupUri="Controls/WindowLabel.xaml"> 属性
 * 
 * 2 定时器使用 dispatchertime  
 *  创建定时器 定时器间隔 定时器函数 定时器开启 定时器关闭
 *  
 * 3 设置笔刷颜色使用rgb
 * this.l1.Background = new SolidColorBrush(Color.FromRgb(255, 255, 0));
 * 
 * 
 * 4 textbox输入框的文本内容 Text属性 
 *  常用的事件 textChange事件
 *  selectText 选中的文本
 *  selectionStart 选中起始索引
 *  boderbrush 边框的颜色
 *  BorderThickness 边框的大小
 *  
 */

// label 显示当前时间 并且每隔1s更新一次

// 作业
// 1 整理文档
// 2 添加三个输入框，分别是rgb三个值，添加一个按钮，点击按钮，再加一个label修改label的背景颜色
//和边框颜色
// 3 使用定时器让lable来回运动 跑马灯效果
// 5 图片 全选 单选 预习
// 4 单词
//  Thickness 厚度
// Solid 固体 实线
//  Dispatcher 调度员
